#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>

//volatile防止loop被优化掉（因为循环体中没有修改过loop）
static volatile int loop = 1;

//信号处理函数
static void alrm_handler(int s)
{
	loop = 0;
}

int main()
{
	int64_t count = 0;
	//设置信号动作
	signal(SIGALRM, alrm_handler);
	//定时5s
	alarm(5);
	//检查loop值
	while(loop)
	{
		count++;
		usleep(10);
	}
	printf("%ld\n", count);

	exit(0);
}
